.TH std::chrono::clock_cast 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::chrono::clock_cast \- std::chrono::clock_cast

.SH Synopsis
   Defined in header <chrono>
   template< class Dest, class Source, class Duration >
   auto clock_cast( const std::chrono::time_point<Source, Duration>& t    \fI(since C++20)\fP
   );

   Converts the time point t of a clock Source to an equivalent time point of the clock
   Dest, using std::chrono::system_clock and/or std::chrono::utc_clock as
   intermediaries if necessary.

     * If the expression std::chrono::clock_time_conversion<Dest, Source>{}(t) is
       well-formed, returns the result of that expression.
     * Otherwise, if at least one of the following two expressions are well-formed,
       then

     * If both expressions are well-formed, the conversion is ambiguous, and the
       program is ill-formed.
     * Otherwise, exactly one of the two expressions is well-formed; the result of that
       expression is returned.
   1) std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}(
       std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t))
   2) std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}(
       std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t))
     * Otherwise, if at least one of the following two expressions are well-formed,
       then

     * If both expressions are well-formed, the conversion is ambiguous, and the
       program is ill-formed.
     * Otherwise, exactly one of the two expressions is well-formed; the result of that
       expression is returned.
   1) std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}(

       std::chrono::clock_time_conversion<std::chrono::utc_clock,
   std::chrono::system_clock>{}(

           std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t)))
   2) std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}(

       std::chrono::clock_time_conversion<std::chrono::system_clock,
   std::chrono::utc_clock>{}(

           std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t)))
     * Otherwise, this function does not participate in overload resolution.

.SH Return value

   The result of the conversion, determined as described above.

.SH Example

    This section is incomplete
    Reason: no example

.SH See also

   clock_time_conversion traits class defining how to convert time points of one clock
   (C++20)               to another
                         \fI(class template)\fP

.SH Category:
     * Todo no example
